PDA

View Full Version : Commission : Gravity Gun



KaLo
13-02-2016, 04:18 AM
http://i1180.photobucket.com/albums/x409/KaLo2222/MISC/300px-HL2_gravitygun.jpg
Oh boy I miss this guy.

However , I only have concepts , I have no knowledge about to use C++ and angelscript.
If someone made it , I will paid 15$ (PayPal) for rewards.

Here come the concept:

1. Which weapon will be altered by this angelscript?
Displacer, this weapon's animations is very close to the HL2 gravity gun , a opening-mouth like animation can be the grabbed animation.
http://i1180.photobucket.com/albums/x409/KaLo2222/MISC/gravity_gun.png

2. Grabbing
As we know , func_pushable can be lift up if it has spawnflags 1024, but its very unstable to hold it and you need close distance.
But if this weapon can grab it from a longer distance , and func_pushable will more stable when grabbed.
The same you can drop it smoothly by press grab button again.
http://i1180.photobucket.com/albums/x409/KaLo2222/MISC/gravity_gun2.png
http://i1180.photobucket.com/albums/x409/KaLo2222/MISC/.png

2. Shoot the grabbed things.
This could be the hardest part to do, but I have some idea:

A. How it shoots func_pushable:

As we lift the func_pushable by the hands and push it away.
This weapon may create a large push force like HL2 gravity shoot it away.
http://i1180.photobucket.com/albums/x409/KaLo2222/MISC/shoot2.png

B. Collision:

This is the most complex concepts here....
When it shot , a trigger_once (using same model of grabbed func_pushable , cilent can't trigger) created and it follow the func_pushable by a temporary trigger_setorigin and trigger_copyvalue , also the position of this trigger_once will changed depend on the impact surface of func_pushable.
If a enemy touch this trigger_once , it trigger the "temporary" trigger_hurt_remote , hurt it with impact damage depend on speed of that surface (X-axis,Y-axis,Z-axis).
At the final , if func_pushable touch wall or impact enemy , it hurt itself with impact damage , if the func_pushable was set to unbreakable , it won't hurt.

Variables:
I. trigger_once's position: it will depend on speed of x-axis, y-axis, z-axis. Example: if speed of z >0 , the trigger_once will be top of func_pushable.

II. trigger_hurt_remote's amount: it depend on speed of x-axis, y-axis, z-axis , if enemy was impacted from x-axis surface, speed of x-axis is 1000 (negetive number will be positive too) , the damage will be ''x-axis's speed(always postive)/100 x default damage".
If default damage is 75 => 1000/100 x 75 = 750.

http://i1180.photobucket.com/albums/x409/KaLo2222/MISC/shoot3.jpg

C. Collision II , sharp blade:

http://i1180.photobucket.com/albums/x409/KaLo2222/MISC/freeman-pontifex-stick-around.jpg
I miss this one too , also I have this idea:

NEW Func_pushable keyvalue:
sharpness "1/0"
weight "number"

If sharpness is set "1" , the pushable shot create a trigger_multiple instead of trigger_once , it explode the prey if the prey's health is lower than trigger_hurt_remote , then this pushable still fly forward until it touch wall or impact an enemy has too many health. (doesn't damage player too)

Weight is obviously , the higher weight the func_pushable set, the harder to grab it.

http://i1180.photobucket.com/albums/x409/KaLo2222/MISC/shoot4.png


Hmm...thats it , I'd like to think something wonderful , if someone can make it come true , I will thanks and give you the rewards.

CryoKeen
13-02-2016, 06:59 AM
+1

probly pretty easy, for now you could just replace the phaser model in Entmod, if that could be made to run in this. and theres a GRAB ENTITY SCRIPT in the plugins section.

KaLo
13-02-2016, 07:27 AM
+1

probly pretty easy, for now you could just replace the phaser model in Entmod, if that could be made to run in this. and theres a GRAB ENTITY SCRIPT in the plugins section.

Yeah the entmod grab doing the same gravity gun grab , but the attracting and shooting fatal pushable is much complex

w00tguy123
13-02-2016, 12:55 PM
I think this might be doable right now. After looking through Solokiller's vehicle script, I've learned that there are ways to override an entity's "Block" function, so like when a func_pushable detects a player in the way of its movement, it could damage or gib it based on speed/sharpness/weight/etc.

Solokiller
13-02-2016, 02:36 PM
That depends on which movetype the entity has. Pushables use a movetype with bounce behavior so even if you handle blocked events, it will still bounce.