Ticket #3395: ticket3395unitactions_7.2.diff
File ticket3395unitactions_7.2.diff, 4.8 KB (added by , 8 years ago) |
---|
-
binaries/data/mods/public/gui/common/tooltips.js
229 229 return attacks.join("\n"); 230 230 } 231 231 232 function getRepairRat ioTooltip(ratio)232 function getRepairRateTooltip(rate) 233 233 { 234 let unit = sprintf(translate("%(health)s / %(second)s / %(worker)s"), { 234 let detail = Math.round(rate * 10) / 10; 235 return "\n" + sprintf(translate("%(repairRateLabel)s %(detail)s %(health)s / %(second)s / %(worker)s"), { 236 "repairRateLabel": g_TooltipTextFormats.header[0] + translate("Repair Rate:") + g_TooltipTextFormats.header[1], 237 "detail": detail, 235 238 "health": g_TooltipTextFormats.unit[0] + translate("health") + g_TooltipTextFormats.unit[1], 236 239 "second": g_TooltipTextFormats.unit[0] + translate("second") + g_TooltipTextFormats.unit[1], 237 240 "worker": g_TooltipTextFormats.unit[0] + translate("worker") + g_TooltipTextFormats.unit[1] 238 241 }); 239 240 return "\n" + sprintf(translate("%(repairRateLabel)s %(detail)s %(unit)s"), {241 "repairRateLabel": g_TooltipTextFormats.header[0] + translate("Repair Rate:") + g_TooltipTextFormats.header[1],242 "detail": ratio,243 "unit": unit244 });245 242 } 246 243 247 244 /** -
binaries/data/mods/public/gui/session/selection_details.js
262 262 Engine.GetGUIObjectByName("attackAndArmorStats").tooltip = entState.attack ? (getAttackTooltip(entState) + "\n" + armorString) : armorString; 263 263 264 264 // Repair Rate 265 if (entState.repairRat io)266 Engine.GetGUIObjectByName("attackAndArmorStats").tooltip += getRepairRat ioTooltip(entState.repairRatio);265 if (entState.repairRate) 266 Engine.GetGUIObjectByName("attackAndArmorStats").tooltip += getRepairRateTooltip(entState.repairRate); 267 267 268 268 // Icon Tooltip 269 269 let iconTooltip = ""; -
binaries/data/mods/public/simulation/components/GuiInterface.js
404 404 "obstruction": null, 405 405 "turretParent":null, 406 406 "promotion": null, 407 "repair Time": null,407 "repairRate": null, 408 408 "resourceDropsite": null, 409 409 "resourceGatherRates": null, 410 410 "resourceSupply": null, … … 487 487 488 488 let cmpRepairable = Engine.QueryInterface(ent, IID_Repairable); 489 489 if (cmpRepairable) 490 ret.repairRat io = cmpRepairable.GetRepairRatio();490 ret.repairRate = cmpRepairable.GetRepairRate(); 491 491 492 492 let cmpResourceSupply = QueryMiragedInterface(ent, IID_ResourceSupply); 493 493 if (cmpResourceSupply) -
binaries/data/mods/public/simulation/components/Repairable.js
62 62 return; 63 63 64 64 // Calculate the amount of hitpoints that will be added (using diminushing rate when several builders) 65 let work = rate * this.buildMultiplier; 66 let repairTime = this.repairTimeRatio * cmpCost.GetBuildTime(); 67 if (repairTime) 68 work *= (cmpHealth.GetMaxHitpoints() / repairTime); 65 let work = rate * this.buildMultiplier * this.GetRepairRate(); 69 66 let amount = Math.min(damage, work); 70 67 cmpHealth.Increase(amount); 71 68 … … 74 71 Engine.PostMessage(this.entity, MT_ConstructionFinished, { "entity": this.entity, "newentity": this.entity }); 75 72 }; 76 73 77 Repairable.prototype.GetRepairRat io= function()74 Repairable.prototype.GetRepairRate = function() 78 75 { 79 76 let cmpHealth = Engine.QueryInterface(this.entity, IID_Health); 80 77 let cmpCost = Engine.QueryInterface(this.entity, IID_Cost); 81 78 let repairTime = this.repairTimeRatio * cmpCost.GetBuildTime(); 82 let repairRatio = (cmpHealth.GetMaxHitpoints() / repairTime); 83 return (Math.round(repairRatio * 10 ) / 10); 79 return repairTime ? cmpHealth.GetMaxHitpoints() / repairTime : 1; 84 80 }; 85 81 86 82 Engine.RegisterComponentType(IID_Repairable, "Repairable", Repairable); -
binaries/data/mods/public/simulation/components/tests/test_GuiInterface.js
510 510 obstruction: null, 511 511 turretParent: null, 512 512 promotion: null, 513 repair Time: null,513 repairRate: null, 514 514 resourceDropsite: null, 515 515 resourceGatherRates: null, 516 516 resourceSupply: null,