| | 1 | = PartDestructionEvent = |
| | 2 | |
| | 3 | [[PageOutline(2-3,CONTENT,pullout)]] |
| | 4 | |
| | 5 | {{{ |
| | 6 | #!html |
| | 7 | <table border="0" bgcolor="lightgray"><tr><td> |
| | 8 | <b>NOTE:</b> Not all features mentioned in this article are implemented yet. |
| | 9 | </td></tr></table> |
| | 10 | }}} |
| | 11 | |
| | 12 | !PartDestructionEvents are used to modify a [BigShip ModularSpaceShip]'s behaviour when one if its !ShipParts is destroyed. |
| | 13 | [[br]] |
| | 14 | |
| | 15 | == Implementation == |
| | 16 | |
| | 17 | To add a !PartDestructionEvent to a !ShipPart, add it as seen below: |
| | 18 | |
| | 19 | {{{ |
| | 20 | <ModularSpaceShip . . . > |
| | 21 | |
| | 22 | <attached> |
| | 23 | <StaticEntity name="wing" . . . /> |
| | 24 | <StaticEntity name="tail" . . . /> |
| | 25 | </attached> |
| | 26 | |
| | 27 | <parts> |
| | 28 | <ShipPart name="wing" . . . > |
| | 29 | <destructionevents> |
| | 30 | <PartDestructionEvent . . . /> |
| | 31 | <PartDestructionEvent . . . /> |
| | 32 | </destructionevents> |
| | 33 | </ShipPart> |
| | 34 | |
| | 35 | <ShipPart name="tail" . . . > |
| | 36 | <destructionevents> |
| | 37 | <PartDestructionEvent . . . /> |
| | 38 | </destructionevents> |
| | 39 | </ShipPart> |
| | 40 | </parts> |
| | 41 | |
| | 42 | <engines> |
| | 43 | <Engine /> |
| | 44 | <Engine /> |
| | 45 | </engines> |
| | 46 | |
| | 47 | </ModularSpaceShip> |
| | 48 | }}} |
| | 49 | |
| | 50 | !PartDestructionEvents have the following parameters which can be used to define its behaviour: |
| | 51 | ||'''Parameter'''||'''Function'''||'''Valid inputs'''||'''Description'''|| |
| | 52 | ||targetType||Selection of the type of the target[[br]]to be modified||ship[[br]]engine[[br]]weapon[[br]]part||The !ModularSpaceShip itself[[br]]An attached engine[[br]]An attached weapon[[br]]An attached Part|| |
| | 53 | ||targetName||Selection of the engine/weapon/part[[br]]to be modified||[string]||-|| |
| | 54 | ||targetParam||Selection of the parameter[[br]]to be modified||''For targetType ship:''[[br]]shieldhealth[[br]]boostpower[[br]]boostpowerrate[[br]]rotationthrust[[br]]''For targetType engine:''[[br]]NULL[[br]]boostfactor[[br]]speedfront[[br]]accelerationfront||[[br]]Health of the ship's shield[[br]]Maximum available boost[[br]]Recharging-rate of boost[[br]]Rotationthrust of ship[[br]] [[br]] [[br]]The strength of the boost[[br]]Maximum forward-speed[[br]]Forward-acceleration|| |
| | 55 | ||operation||Selection of the operation to be executed[[br]]on the parameter/target||-[[br]]+[[br]]*[[br]]set[[br]]destroy||Substracts value from parameter[[br]]Adds value to parameter[[br]]Multiplies parameter with value[[br]]Sets parameter to value[[br]]Deletes target (or sets value to 0)|| |
| | 56 | ||value||Value used to apply the operation||[float]||-|| |
| | 57 | ||message||Message to be shown in chat upon[[br]]destruction of the !ShipPart||[string]||-|| |
| | 58 | |
| | 59 | [[br]] |
| | 60 | |
| | 61 | |
| | 62 | == Example == |
| | 63 | |
| | 64 | Look at the [http://www.orxonox.net/browser/code/branches/presentationFS14/data/levels/templates/HeavyCruiser.oxt#L3 HeavyCruiser.oxt] template to see an implementation of this! |
| | 65 | |
| | 66 | [[br]] |
| | 67 | |
| | 68 | == Development == |
| | 69 | |
| | 70 | |
| | 71 | [[br]] |
| | 72 | |
| | 73 | === TODO === |
| | 74 | |
| | 75 | * Expand functionality of !PartDestructionEvents |
| | 76 | |
| | 77 | [[br]] |
| | 78 | |
| | 79 | |
| | 80 | === Problems === |
| | 81 | |
| | 82 | * Not all currently implemented functions seem to work? |
| | 83 | |
| | 84 | [[br]] |
| | 85 | |
| | 86 | |
| | 87 | == More Ideas == |
| | 88 | |
| | 89 | * N/A |