《Programmable Magic》Chapter 12: Fireball 2.0
Advertisement
After Mr. Ito’s class I rush back to my dorm, luckily Sara isn’t home yet so I have some peace and quiet to work on my magic.
My idea is to program a smaller, faster fireball, hopefully the smaller size will result in a reduced mana-cost.
I guess I’ll just modify the size and speed of the fireball-code I got from Lance…
I type the new code into the unknown yellow cartridge and hit save…
ERROR Syntax error
Dammit… ah I see, I forgot to add a semicolon at the end. This reminds me of my old mobile-game coding days…
After fixing the syntax error, I hit save again and get this pop up:
Statistics
Mana Price: 41 Mana/Use
Explosion Efficiency: 36%
Save
Edit
What’s this efficiency stat? Well let’s just ‘trial and error’ a bunch I guess.
I changed the speed and size back to the original code I got from Lance, the Explosion Efficiency is now 100% and the Mana Price went back up to 100 Mana/Use… If my guess is correct, this ‘Explosion Efficiency’ measures the amount of potential energy from the fireball that’s actually converted into the heat and kinetic energy of the explosion it creates when it comes into contact with something.
Or in normal people speech: a higher efficiency means a bigger boom.
It appears that a smaller fireball can’t convert a lot of potential energy into the explosion which would make it a lot less powerful… Looks like the mana count is based on a combination of speed, size and power.
Wouldn’t it be possible to alter the size of the fireball when it hits something in order to create a bigger explosion?
Alright, let’s program a smaller faster fireball that’ll expand when it hits a target, this should increase the ‘Explosion Efficiency’ since the fireball is big when it explodes. But It should also consume less mana since it still has a small volume when I fire it.
Advertisement
I tried adding another modifier at the end of my code to expand the fireball, but I got an error, this time a ‘Modifier overflow’ error. Looks like I can only add two modifiers to my magic right now.
This means that I can’t apply the burn effect from the original fireball though, since I need an open modifier spot, but maybe by removing the burn effect I can lower the total mana cost even more…
After a lot of testing and syntax errors I finally got some statistics I liked:
Statistics
Mana Price: 50 Mana/Use
Explosion Efficiency: 100%
Save
Edit
It should have a fair bit more power than a regular fireball and it’s also a lot faster, however, it doesn’t have a burn effect like a regular fireball would have. That did make it a lot cheaper though.
I hit the Save option and I get another window telling me to name my new code.
“What about… Explosion!”
I enter the name ‘Explosion’ and hit enter.
[Yellow] Explosion:
import Magic_Class.Projectile;
import User;
public class Fireball extends ManaActivity{
@Override
protected void onActivation() {
boolean active = true;
while(active) {
if (User.Brain.Thought_detection == "Shoot") {
Projectile fireball = new Projectile;
// fireball initiation
fireball.shape = "SPHERE";
fireball.volume = 0.0000001; // in m³
fireball.velocity = 180; // in m/s = Kinetic energy
fireball.acceleration = 0; // in m/s²
fireball.power = 900; // in KiloJoule = Potential energy
fireball.element = "FIRE";
fireball.starting_point = User.limbs.hand.palm;
fireball.trajectory = "Y = V0y*t - 1/2*g*t²";
// shoot the actual fireball
fireball.launch();
boolean fired = true;
long start = System.currentTimeMillis();
long end = start + 5*1000;
while(fired && System.currentTimeMillis()
if(CollisionDetected(fireball)){
fired = false;
ExpandProjectile(fireball);
}
}
fireball.detonate; //unleashes explosive force of the fireball
Advertisement
}
if (User.Brain.Thought_detection == "Deactivate") {
active = false;
}
}
};
// Modifier 1: Collision detection
public boolean CollisionDetected(Projectile fireball){
if(fireball.velocity = 0){ //fireball stops when it hits anything
return true;
}
else{
return false;
}
};
// Modifier 2: Expansion
public void ExpandProjectile(projectile fireball){
fireball.volume = 0.09; // in m³
};
};
The cartridge starts to glow and sizzle but stops after a while, I insert the cartridge and get the prompt:
Yellow Revealed Cartridge: Explosion
Store
Eject
Analyze
Nice! This could work! I can actually become a powerful Machia like this, fuck gift-cartridges, fuck mana-count, I’ll just do this my way!
Let’s start with winning the dual tomorrow, I’m curious about which lackey Kaori will send my way though. I hope someone from wood [I] or [II].
I can only hope to one-shot my opponent with explosion, they shouldn’t see it coming since the projectile is only visible on impact. Now that I think about it, I really created something superior to a regular fireball. Not only is it faster, it’s also near undetectable and more powerful.
Or well… it should be at least… I’m confident in my coding abilities, but I couldn’t actually test the magic itself out. It also looks like I can’t reprogram an already revealed cartridge, this is totally a nightmare for any debugger…
Also, I don’t think I’ll get a lot of time to practice my explosion magic before the match...
*SMACK*
I hear the front door swing open, presumably Sara returned home.
*KNOCK* *KNOCK*
“I know you’re in there pervert, let’s eat together, I bought too much sushi.”
What a shock, is she finally opening up to me? L-Lets not make any bold assumptions, it’s Sara we’re talking about after all…
“Sure, give me like 5 minutes!”
Advertisement
- In Serial34 Chapters
Headcase
Everywhere there are superheroes and supervillains, but Adrian is just a ghost. His power allows him to go anywhere unnoticed, and he hasn't wanted to be noticed at all. Until today, this telepath could barely remember his own name, let alone what his purpose in life was. But no one can ignore their destiny forever. Adrian needed a wakeup call to come back to the world, and it came in the form of an unstoppable rampaging super. He must keep his feet on the ground now if he wants to survive and become the strongest sane hero left standing - and save the city he loves. Author's Note: This will be my fourth original novel here on Royal Road so you can have confidence in my completion rate. My last book 'Creep' received both extreme praise and criticism which I have taken to heart. My intent here is to redouble all the best elements of my writing. I hope you enjoy! UPDATING MULTIPLE TIMES WEEKLY
8 402 - In Serial15 Chapters
I Was Monster Once, Now I Am Human
A Monster Was Reincarnated From Fantasy World To Modern World. Along With His Previous life's Memories.
8 118 - In Serial89 Chapters
Why I am me
You may know me as the worst tyrant in history, as the enemy of all life, as a mistake or maybe the greatest leader of all time. Maybe you even know my real name. Petrió Mill. Most likely you know what I did, but not why. I'm going to give you the full story on how I became hated by almost everyone, from the start of my life all the way here. To my message for everyone. To the end of my reign. To... my death.
8 160 - In Serial13 Chapters
Aliens! Tech! War! OH YES!!
Jacob Strickwing 25 medical discharged from the U.S. Army after the 300 Day chinesse war in 2027 stops a group of aliens from abducting some college coeds before they all get abducted from a different aliean speicies.
8 185 - In Serial18 Chapters
Adopted By Laurenzside
Marlee is a 5 year old girl, she was dropped off at the adoption center around the age of two when her daddy killed her mommy. She always looks on the positive side. And for a 5 year old let's just say she is really smart.
8 209 - In Serial45 Chapters
Learn
Park Sunghoon is a boy who's always been deprived of love and affection. As he grows older, there were things that the world forced him to learn all by himself. One of it? Well, it was how to properly love a girl named Shin Hyewon, the perfect girl who tries to hide her flaws.─✔︎ 𝘤𝘰𝘮𝘱𝘭𝘦𝘵𝘦𝘥(under heavy editing as of september 14, 2022)
8 121

