Weapon portal base: Difference between revisions
|  (Changed the FGD code) | |||
| Line 30: | Line 30: | ||
| ==FGD Code== | ==FGD Code== | ||
| <pre> | <pre> | ||
| @PointClass base(Weapon) studio("models/weapons/ | @PointClass base(Weapon,Targetname, Parentname) studio("models/weapons/portalgun") = weapon_portal_base : "Custom Weapon"[] | ||
| </pre> | </pre> | ||
Revision as of 04:39, 26 November 2023
Template:Entity It's a code class in  Portal and
 Portal and  Portal 2 which is a base class for all weapon entities.
 Portal 2 which is a base class for all weapon entities.
While its classname entity goes entirely unused, it can be repurposed by maps and mods to make simple custom weapons.
 Note:To create a custom weapon make a file named
Note:To create a custom weapon make a file named weapon_portal_base.txt and put it in the 
/scripts/ folder to create a custom weapon. Bug:For an unknown reason custom weapons can be used only once  [todo tested in ?]
Bug:For an unknown reason custom weapons can be used only once  [todo tested in ?]Creation
If a valid weapon script named weapon_portal_base.txt is placed in the /scripts/ folder, it will use that script to define its models, ammo type, etc (this works even if the script is packed into the map). If the script allows the weapon to fire bullets, it will shoot as a low accuracy machine gun, similar to how the AR2 fires.
 Note:Weapons created using
Note:Weapons created using weapon_portal_base do not have a secondary fireIf its ammo type is valid, it will do damage like any other weapon, allowing for the creation of a fully custom machine gun without any new weapon code.
Fixing the damage
In  Portal 2, all the
 Portal 2, all the  Half-Life 2 ammotypes exist in game, but the convars for damage and max ammo capacity are all set to 0 by default. Copying
 Half-Life 2 ammotypes exist in game, but the convars for damage and max ammo capacity are all set to 0 by default. Copying 
hl2/cfg/skill.cfg over from  Half-Life 2 into
 Half-Life 2 into 
portal2/cfg/skill_portal2.cfg or setting the convars directly allows the  Half-Life 2 ammotypes to be used to create damaging weapons in
 Half-Life 2 ammotypes to be used to create damaging weapons in  Portal 2.
 Portal 2.
Paired in conjunction with  Portal 2's coop mode this allows for the creation of deathmatch style maps.
 Portal 2's coop mode this allows for the creation of deathmatch style maps.
Custom "weapons"
If the script is one that doesn't shoot bullets (for example, if the gravity gun script is copied over), it will still act as a viewmodel and play firing animations, which is perfect for making new mechanically distinct weapons via entities like game_ui (for getting player left and right clicks) and logic_measure_movement (to move entities to the players eye position, for spawning projectiles or other weapon effects).
If the player doesn't have an item_suit, the command use weapon_portal_base can be used to switch to this weapon, and use weapon_portalgun can be used to switch back to the portal gun.
 Bug:Going through a trigger_portal_cleanser after the player has placed portals will show the portal gun's fizzle animation, even if the player is not holding the portal gun. This can be worked around by setting up a trigger_multiple and a game_ui to hide the player's held weapon while they walk through the fizzler.  [todo tested in ?]
Bug:Going through a trigger_portal_cleanser after the player has placed portals will show the portal gun's fizzle animation, even if the player is not holding the portal gun. This can be worked around by setting up a trigger_multiple and a game_ui to hide the player's held weapon while they walk through the fizzler.  [todo tested in ?]FGD Code
@PointClass base(Weapon,Targetname, Parentname) studio("models/weapons/portalgun") = weapon_portal_base : "Custom Weapon"[]
See Also
- weapon_portalgun
- basehlcombatweapon
- baseportalcombatweapon
- weapon_cubemap
- weapon_promo_antenna_ball
- weapon_promo_antenna_egg
- weapon_promo_helmet_ball
- weapon_promo_helmet_egg
Credits
This article has been copied from the Source Entities Wiki.
Original article by Pinsplash: https://srcents.miraheze.org/wiki/CWeaponPortalBase

