User Tools

Site Tools


script:module:app

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
script:module:app [2020-06-25 09:53] – [Functions] skyjakescript:module:app [2020-11-26 06:24] (current) skyjake
Line 1: Line 1:
 +====== App (Module) ======
  
 +
 +Module that wraps the native App class. Derived classes like ClientApp may also augment the module with their variables and functions.
 +
 +
 +===== Functions =====
 +
 +#@Identifier_HTML~consolePlayer~@# ( )
 +
 +Returns an object representing the console player ([[script:module:App#app.player|App.Player]]).
 +
 +#@Identifier_HTML~gamePlugin~@# ( )
 +
 +Returns the identifier of the currently loaded game plugin. The return value is text, for instance for the Doom game plugin:
 +  "doom"
 +  
 +
 +#@Identifier_HTML~getInteger~@# (
 + #@Arg_HTML~Number,id~@# )
 +  
 +Query the value of an internal engine variable. The //id// is one of the constants in the App module, such as ''App.NETGAME''.
 +
 +
 +#@Identifier_HTML~quit~@# ( )
 +
 +
 +#@Identifier_HTML~setInteger~@# (
 + #@Arg_HTML~Number,id~@#,
 + #@Arg_HTML~Number,value~@# )
 +  
 +Sets the value of an internal engine variable. The //id// is one of the constants in the App module, such as ''App.NETGAME''. Note that some values cannot be changed, or are reset internally by the engine.
 +
 +===== Variables =====
 +
 +
 +#@Identifier_HTML~audienceForGameChange~@#
 +
 +An array of functions that will be called whenever the game changes. Note that this is also called when the game is unloaded. The ID of the loaded game mode is provided as an argument to the functions.
 +
 +  def gameHasChanged(newGame)
 +      print "Game is now:", newGame
 +  end
 +  App.audienceForGameChange += [gameHasChanged]
 +
 +
 +===== App.Player =====
 +
 +Base class for players in the game.
 +
 +
 +#@Identifier_HTML~armor~@# ( )
 +
 +(Availability: Not available in Hexen.)
 +
 +Returns the current armor points of the player.
 +
 +
 +#@Identifier_HTML~armorType~@# ( )
 +
 +(Availability: Not available in Hexen.)
 +
 +Returns the current armor type (0, 1, or 2) of the player.
 +
 +
 +#@Identifier_HTML~giveAmmo~@#
 + #@Arg_HTML~Number,type~@#,
 + #@Arg_HTML~Number,amount~@# )
 +
 +Gives the player ammo of a given type. The //type// is one of the internal ammo type IDs defined in doomdef.h or h2def.h.
 +
 +
 +#@Identifier_HTML~giveArmor~@# (
 + #@Arg_HTML~Number,type~@#,
 + #@Arg_HTML~Number,points~@# )
 +
 +Increases the player's armor points and changes the armor type.
 +
 +
 +#@Identifier_HTML~giveBackpack~@# ( )
 +
 +(Availability: Not available in Hexen.)
 +
 +Increases the player's max ammo capacity.
 +
 +
 +#@Identifier_HTML~givePower~@# (
 + #@Arg_HTML~Number,type~@# )
 +
 +Gives the player a power-up.
 +
 +The values for //type// depend on the game (see ''enum powertype_t'').
 +For Heretic, the following values are defined:
 +
 +  * App.Player.PT_ALLMAP
 +  * App.Player.PT_FLIGHT
 +  * App.Player.PT_HEALTH2
 +  * App.Player.PT_INFRARED
 +  * App.Player.PT_INVISIBILITY
 +  * App.Player.PT_INVULNERABILITY
 +  * App.Player.PT_SHIELD
 +  * App.Player.PT_WEAPONLEVEL2
 +
 +
 +#@Identifier_HTML~health~@# ( )
 +
 +Returns the current health points of the player.
 +
 +
 +#@Identifier_HTML~id~@# ( )
 +
 +Returns the ID/console number of the player. In a single-player game, this is always zero.
 +
 +#@Identifier_HTML~power~@# ( #@Arg_HTML~Number,type~@# )
 +
 +Returns one of the power-up counters of the player. 
 +The returned value is the number of 35 Hz tics that the power-up is in effect. It counts downward over time. If the returned value is positive, the corresponding power-up is currently active.
 +
 +The values for //type// depend on the game (see ''enum powertype_t'').
 +
 +
 +#@Identifier_HTML~setFlameCount~@# ( #@Arg_HTML~Number,tics~@# )
 +
 +(Availability: Heretic.)
 +
 +Sets the maximum duration of the powered up Phoenix Rod flame thrower. The default is 350 tics (10 seconds). After this duration, ammo will be depleted and the player must start a new attack.
 +
 +This behavior is defined by the State definitions in Heretic's **objects.ded**.
 +
 +
 +#@Identifier_HTML~setLocalQuake~@#
 + #@Arg_HTML~Number,intensity~@#,
 + #@Arg_HTML~Number,duration~@# = 0 )
 +
 +(Availability: Heretic, Hexen.)
 +
 +Starts or stops the local earthquake effect where a player's camera is being randomly shaken.
 +
 +Both the //intensity// and //duration// are integers. The value of //intensity// determines the strength of the shaking; for example: 1 is the minimum, 10 is very strong. //Duration// determines how long the shaking will go on (in tics; 35 is one second). The duration is zero by default, which means the earthquake will continue indefinitely.
 +
 +To stop the earthquake, set //intensity// to zero.
 +
 +
 +#@Identifier_HTML~setHealth~@#
 + #@Arg_HTML~Number,hp~@# )
 +
 +Changes player health to //hp// without checking restrictions. The value can be set to any number, even higher than the defined player maximum health. Setting //hp// to zero or a negative value kills the player, even if they have invulnerability.
 +
 +
 +#@Identifier_HTML~shotAmmo~@# ( )
 +
 +Deplete one round of ammo according to the "per shot" ammo of the player's current weapon.
 +
 +
 +#@Identifier_HTML~thing~@# ( )
 +
 +Returns the player mobj as a [[script:module:world#worldthing|World.Thing]] object.