📄 ourtypes.cpp
字号:
case 6: rate = playerDecayRate.postCM; break; case 7: case 8: rate = playerDecayRate.postWM; break; case 9: rate = playerDecayRate.postWF; break; case 10: case 11: rate = playerDecayRate.postCF; break; assert(0); } weight *= rate; return weight;}float OurTypes::getInertiaMomentWeight(int uniNum, int playerType){ // Range : 5.0 - 10.0 // Type 0 value = 5 float weight; float rate = 5; ReRateMode reRateMode = RRM_REVERSE; float value = worldModel->getPlayerType(playerType)["inertia_moment"].asFloat(); float rangeFloor = 5.0; float rangeCeil = 10.0; weight = reRate(value, rangeFloor, rangeCeil, -100, 0, reRateMode); switch (uniNum) { case GOALIE_UNIFORM_NUM: assert(0); case 2: case 3: rate = inertiaMomentRate.postCB; break; case 4: case 5: rate = inertiaMomentRate.postWB; break; case 6: rate = inertiaMomentRate.postCM; break; case 7: case 8: rate = inertiaMomentRate.postWM; break; case 9: rate = inertiaMomentRate.postCF; break; case 10: case 11: rate = inertiaMomentRate.postWF; break; assert(0); } weight *= rate; return weight;}float OurTypes::getDashPowerRateWeight(int uniNum, int playerType){ // Range : 0.006 - 0.008 // Type 0 value = 0.006 float weight; float rate = 5; ReRateMode reRateMode = RRM_DIRECT; float value = worldModel->getPlayerType(playerType)["dash_power_rate"].asFloat(); float rangeFloor = 0.006; float rangeCeil = 0.008; float badBorder = 0.0063; if (value <= badBorder) weight = reRate(value, rangeFloor, rangeCeil, -100, 0, reRateMode); else weight = reRate(value, rangeFloor, rangeCeil, 0, 100, reRateMode); switch (uniNum) { case GOALIE_UNIFORM_NUM: assert(0); case 2: case 3: rate = dashPowerRateRate.postCB; break; case 4: case 5: rate = dashPowerRateRate.postWB; break; case 6: rate = dashPowerRateRate.postCM; break; case 7: case 8: rate = dashPowerRateRate.postWM; break; case 9: rate = dashPowerRateRate.postCF; break; case 10: case 11: rate = dashPowerRateRate.postWF; break; assert(0); } weight *= rate; return weight;}float OurTypes::getPlayerSizeWeight(int uniNum, int playerType){ // Range : 0.1 - 0.3 // Type 0 value = 0.3 float weight; float rate = 5; ReRateMode reRateMode = RRM_DIRECT; float value = worldModel->getPlayerType(playerType)["player_size"].asFloat(); float rangeFloor = 0.1; float rangeCeil = 0.3; weight = reRate(value, rangeFloor, rangeCeil, -100, 0, reRateMode); switch (uniNum) { case GOALIE_UNIFORM_NUM: assert(0); case 2: case 3: rate = playerSizeRate.postCB; break; case 4: case 5: rate = playerSizeRate.postWB; break; case 6: rate = playerSizeRate.postCM; break; case 7: case 8: rate = playerSizeRate.postWM; break; case 9: rate = playerSizeRate.postCF; break; case 10: case 11: rate = playerSizeRate.postWF; break; assert(0); } weight *= rate; return weight;}float OurTypes::getKickableMarginWeight(int uniNum, int playerType){ // Range : 0.7 - 0.9 // Type 0 value = 0.7 float weight; float rate = 5; ReRateMode reRateMode = RRM_DIRECT; float value = worldModel->getPlayerType(playerType)["kickable_margin"].asFloat(); float rangeFloor = 0.7; float rangeCeil = 0.9; weight = reRate(value, rangeFloor, rangeCeil, 0, 100, reRateMode); switch (uniNum) { case GOALIE_UNIFORM_NUM: assert(0); case 2: case 3: rate = kickableMarginRate.postCB; break; case 4: case 5: rate = kickableMarginRate.postWB; break; case 6: rate = kickableMarginRate.postCM; break; case 7: case 8: rate = kickableMarginRate.postWM; break; case 9: rate = kickableMarginRate.postCF; break; case 10: case 11: rate = kickableMarginRate.postWF; break; assert(0); } weight *= rate; return weight;}float OurTypes::getKickRandWeight(int uniNum, int playerType){ // Range : 0.0 - 0.1 // Type 0 value = 0.0 float weight; float rate = 5; ReRateMode reRateMode = RRM_REVERSE; float value = worldModel->getPlayerType(playerType)["kick_rand"].asFloat(); float rangeFloor = 0.0; float rangeCeil = 0.1; float badBorder = 0.07; if (value >= badBorder) weight = reRate(value, rangeFloor, rangeCeil, -100, 0, reRateMode); else weight = reRate(value, rangeFloor, rangeCeil, 0, 100, reRateMode); switch (uniNum) { case GOALIE_UNIFORM_NUM: assert(0); case 2: case 3: rate = kickRandRate.postCB; break; case 4: case 5: rate = kickRandRate.postWB; break; case 6: rate = kickRandRate.postCM; break; case 7: case 8: rate = kickRandRate.postWM; break; case 9: rate = kickRandRate.postCF; break; case 10: case 11: rate = kickRandRate.postWF; break; assert(0); } weight *= rate; return weight;}float OurTypes::getExtraStaminaWeight(int uniNum, int playerType){ // Range : 0.0 - 100.0 // Type 0 value = 0 float weight; float rate = 5; ReRateMode reRateMode = RRM_DIRECT; float value = worldModel->getPlayerType(playerType)["extra_stamina"].asFloat(); float rangeFloor = 0.0; float rangeCeil = 100.0; weight = reRate(value, rangeFloor, rangeCeil, 0, 100, reRateMode); switch (uniNum) { case GOALIE_UNIFORM_NUM: assert(0); case 2: case 3: rate = extraStaminaRate.postCB; break; case 4: case 5: rate = extraStaminaRate.postWB; break; case 6: rate = extraStaminaRate.postCM; break; case 7: case 8: rate = extraStaminaRate.postWM; break; case 9: rate = extraStaminaRate.postCF; break; case 10: case 11: rate = extraStaminaRate.postWF; break; assert(0); } weight *= rate; return weight;}float OurTypes::getEffortMaxWeight(int uniNum, int playerType){ // Range : 0.8 - 1.0 // Type 0 value = 1 float weight; float rate = 5; ReRateMode reRateMode = RRM_DIRECT; float value = worldModel->getPlayerType(playerType)["effort_max"].asFloat(); float rangeFloor = 0.8; float rangeCeil = 1.0; weight = reRate(value, rangeFloor, rangeCeil, -100, 0, reRateMode); switch (uniNum) { case GOALIE_UNIFORM_NUM: assert(0); case 2: case 3: rate = effortMaxRate.postCB; break; case 4: case 5: rate = effortMaxRate.postWB; break; case 6: rate = effortMaxRate.postCM; break; case 7: case 8: rate = effortMaxRate.postWM; break; case 9: rate = effortMaxRate.postCF; break; case 10: case 11: rate = effortMaxRate.postWF; break; assert(0); } weight *= rate; return weight;}float OurTypes::getEffortMinWeight(int uniNum, int playerType){ // Range : 0.4 - 0.6 // Type 0 value = 0.6 float weight; float rate = 5; ReRateMode reRateMode = RRM_DIRECT; float value = worldModel->getPlayerType(playerType)["effort_min"].asFloat(); float rangeFloor = 0.4; float rangeCeil = 0.6; weight = reRate(value, rangeFloor, rangeCeil, -100, 0, reRateMode); switch (uniNum) { case GOALIE_UNIFORM_NUM: assert(0); case 2: case 3: rate = effortMinRate.postCB; break; case 4: case 5: rate = effortMinRate.postWB; break; case 6: rate = effortMinRate.postCM; break; case 7: case 8: rate = effortMinRate.postWM; break; case 9: rate = effortMinRate.postCF; break; case 10: case 11: rate = effortMinRate.postWF; break; assert(0); } weight *= rate; return weight;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -